﻿using System;
using System.Collections.Generic;

using BLToolkit.Mapping;
using BLToolkit.Data;
using BLToolkit.DataAccess;
using BLToolkit.EditableObjects;
using BLToolkit.Aspects;
using BLToolkit.Reflection;
using BLToolkit.Common;

namespace Brainsoft.Core.ObjectModel
{
    /// <summary>
    /// Objeto que representa las propiedades y/o metodos para la tabla Users
    /// </summary>	
    [TableName("Users")]
    public class Users : EntityBase
    {
        #region Properties (Database Mapping)


        private decimal _userId;
        /// <summary></summary>
        [MapField("UserId")]
        public decimal UserId
        {
            get { return _userId; }
            set { _userId = value; }
        }

        private string _password = String.Empty;
        /// <summary></summary>
        [MapField("Password")]
        public string Password
        {
            get { return _password; }
            set { _password = value; }
        }

        private string _email = String.Empty;
        /// <summary></summary>
        [MapField("Email")]
        public string Email
        {
            get { return _email; }
            set { _email = value; }
        }

        private string _preguntaPassword = String.Empty;
        /// <summary></summary>
        [MapField("PreguntaPassword")]
        public string PreguntaPassword
        {
            get { return _preguntaPassword; }
            set { _preguntaPassword = value; }
        }

        private string _respuestaPassword = String.Empty;
        /// <summary></summary>
        [MapField("RespuestaPassword")]
        public string RespuestaPassword
        {
            get { return _respuestaPassword; }
            set { _respuestaPassword = value; }
        }

        private string _nombre1 = String.Empty;
        /// <summary></summary>
        [MapField("Nombre1")]
        public string Nombre1
        {
            get { return _nombre1; }
            set { _nombre1 = value; }
        }

        private string _nombre2 = String.Empty;
        /// <summary></summary>
        [MapField("Nombre2")]
        public string Nombre2
        {
            get { return _nombre2; }
            set { _nombre2 = value; }
        }

        private string _apellido1 = String.Empty;
        /// <summary></summary>
        [MapField("Apellido1")]
        public string Apellido1
        {
            get { return _apellido1; }
            set { _apellido1 = value; }
        }

        private string _apellido2 = String.Empty;
        /// <summary></summary>
        [MapField("Apellido2")]
        public string Apellido2
        {
            get { return _apellido2; }
            set { _apellido2 = value; }
        }

        private bool _vigente;
        /// <summary></summary>
        [MapField("Vigente")]
        public bool Vigente
        {
            get { return _vigente; }
            set { _vigente = value; }
        }

        private DateTime _fechaIngreso;
        /// <summary></summary>
        [MapField("FechaIngreso")]
        public DateTime FechaIngreso
        {
            get { return _fechaIngreso; }
            set { _fechaIngreso = value; }
        }

        private DateTime _fechaUltimoLogin;
        /// <summary></summary>
        [MapField("FechaUltimoLogin")]
        public DateTime FechaUltimoLogin
        {
            get { return _fechaUltimoLogin; }
            set { _fechaUltimoLogin = value; }
        }

        private DateTime _fechaUltimoCambioPassword;
        /// <summary></summary>
        [MapField("FechaUltimoCambioPassword")]
        public DateTime FechaUltimoCambioPassword
        {
            get { return _fechaUltimoCambioPassword; }
            set { _fechaUltimoCambioPassword = value; }
        }

        private DateTime _fechaUltimoBloqueo;
        /// <summary></summary>
        [MapField("FechaUltimoBloqueo")]
        public DateTime FechaUltimoBloqueo
        {
            get { return _fechaUltimoBloqueo; }
            set { _fechaUltimoBloqueo = value; }
        }

        private short _intentosPasswordFallidos;
        /// <summary></summary>
        [MapField("IntentosPasswordFallidos")]
        public short IntentosPasswordFallidos
        {
            get { return _intentosPasswordFallidos; }
            set { _intentosPasswordFallidos = value; }
        }

        private string _rut_dv = String.Empty;
        /// <summary></summary>
        [MapField("rut_dv")]
        public string rut_dv
        {
            get { return _rut_dv; }
            set { _rut_dv = value; }
        }
        #endregion

        #region Custom Properties

        #endregion

    }
}